Transport Layer Security (TLS) Elasticsearch-এ নোডগুলির মধ্যে এবং ক্লায়েন্ট (যেমন Kibana) ও ক্লাস্টারের মধ্যে নিরাপদ যোগাযোগ নিশ্চিত করতে ব্যবহৃত হয়। TLS সক্রিয় করলে Elasticsearch ডেটা এনক্রিপ্টেড ফরম্যাটে আদান-প্রদান করে, যা ডেটা সুরক্ষার জন্য অত্যন্ত গুরুত্বপূর্ণ। TLS সক্রিয় করার মাধ্যমে আপনি নিশ্চিত করতে পারেন যে আপনার ক্লাস্টার সিকিউর এবং এনক্রিপ্টেড।
TLS সেটআপ করতে, আপনাকে সার্টিফিকেট তৈরি, Elasticsearch কনফিগারেশন, এবং নোডগুলির মধ্যে সঠিক সার্টিফিকেট ডিস্ট্রিবিউশন করতে হবে। নিচে ধাপে ধাপে প্রক্রিয়াটি ব্যাখ্যা করা হলো।
Elasticsearch TLS সার্টিফিকেট তৈরি করার জন্য elasticsearch-certutil
টুল ব্যবহার করতে পারেন। এটি Elasticsearch-এ অন্তর্ভুক্ত থাকে এবং সার্টিফিকেট জেনারেট করতে ব্যবহৃত হয়।
প্রথমে একটি Certificate Authority (CA) তৈরি করুন, যা TLS সার্টিফিকেট সাইন করবে:
bin/elasticsearch-certutil ca
elastic-stack-ca.p12
ফাইল তৈরি হবে। এটি আপনার CA সার্টিফিকেট।এবার, প্রতিটি নোডের জন্য সার্টিফিকেট তৈরি করতে elasticsearch-certutil
টুল ব্যবহার করুন:
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
elastic-stack-ca.p12
ফাইলের পাথ দিতে হবে এবং প্রতিটি নোডের জন্য সার্টিফিকেট তৈরি হবে।.p12
ফাইল (Keystore) তৈরি হবে, যা প্রতিটি নোডে TLS কনফিগারেশনের জন্য ব্যবহৃত হবে।Elasticsearch-এর elasticsearch.yml
কনফিগারেশন ফাইলে TLS কনফিগারেশন যোগ করতে হবে। প্রতিটি নোডে নিম্নলিখিত সেটিংস যুক্ত করুন:
# Transport Layer TLS Configuration
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /path/to/your/node-cert.p12
xpack.security.transport.ssl.truststore.path: /path/to/your/node-cert.p12
# HTTP Layer TLS Configuration (Optional: For HTTP/HTTPS)
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: /path/to/your/node-cert.p12
xpack.security.http.ssl.truststore.path: /path/to/your/node-cert.p12
keystore.path
এবং truststore.path
-এ যে .p12
ফাইলটি তৈরি করেছিলেন তার পাথ যুক্ত করুন।কনফিগারেশন পরিবর্তনের পরে প্রতিটি Elasticsearch নোড রিস্টার্ট করুন:
bin/elasticsearch
যদি Kibana ব্যবহার করে থাকেন, তাহলে Elasticsearch-এর সাথে সিকিউর কানেকশন কনফিগার করতে হবে। kibana.yml
ফাইলে TLS কনফিগারেশন যুক্ত করুন:
elasticsearch.hosts: ["https://your-elasticsearch-node:9200"]
elasticsearch.ssl.certificateAuthorities: ["/path/to/elastic-stack-ca.pem"]
elasticsearch.ssl.verificationMode: full
elasticsearch.hosts
: আপনার Elasticsearch নোডের HTTPS URL।elasticsearch.ssl.certificateAuthorities
: আপনার CA সার্টিফিকেট (elastic-stack-ca.pem
) এর পাথ, যা Kibana সার্ভারে রাখতে হবে।verificationMode
: full
সেট করুন, যাতে Kibana এবং Elasticsearch-এর মধ্যে TLS সার্টিফিকেট পুরোপুরি ভেরিফাই হয়।TLS সঠিকভাবে কাজ করছে কি না, তা যাচাই করতে:
elasticsearch.log
) যদি কোনো TLS সম্পর্কিত এরর বা ওয়ার্নিং থাকে।curl -u elastic:password --cacert /path/to/elastic-stack-ca.pem https://your-elasticsearch-node:9200
Elasticsearch-এ TLS সেটআপ করা ডেটা সিকিউরিটি নিশ্চিত করার একটি গুরুত্বপূর্ণ ধাপ। উপরের ধাপগুলো অনুসরণ করে, আপনি Elasticsearch নোডগুলোর মধ্যে এবং ক্লায়েন্ট ও সার্ভারের মধ্যে TLS এনক্রিপশন সক্রিয় করতে পারবেন, যা ক্লাস্টারকে সুরক্ষিত রাখবে এবং ডেটা লিকেজ বা অননুমোদিত অ্যাক্সেস প্রতিরোধ করবে।
আরও দেখুন...